package com.hnust.api;

import com.github.lianjiatech.retrofit.spring.boot.annotation.RetrofitClient;
import com.hnust.domain.ChoiceQuestion;
import com.hnust.domain.PaperInfoPreview;
import com.hnust.domain.Result;
import org.springframework.stereotype.Component;
import retrofit2.http.GET;
import retrofit2.http.Query;

import java.util.List;

@RetrofitClient(baseUrl = "${retrofit.baseUrl}",poolName = "test2",connectTimeoutMs = 50000,writeTimeoutMs = 50000,readTimeoutMs = 50000)
@Component
public interface PreviewPaperApi {
    /**
     * 获取对应id的试卷头信息
     * @param papId
     * @return
     */
//    @GET("/paper/getPaperInfo")
     @GET("https://www.fastmock.site/mock/1c5a4eeb95389d6a6525b8b05be64c6a/examSystem/getPaperInfo")
     Result<List<PaperInfoPreview>> getPaperInfo(@Query("papId") String papId);

    /**
     * 获取某个试卷的全部选择题，并存放到List<ChoiceQuestion>中
     * @param papId
     * @return
     */
    @GET("/paper/getChoiceQuestions")
    Result<List<ChoiceQuestion>> getChoiceQuestions(@Query("papId") String papId);

    /**
     * 获取某个试卷的全部判断题，题目是一个String，存放在List中
     * @param papId
     * @return
     */
    @GET("/paper/getJudgQuestions")
    Result<List<String>> getJudgQuestions(@Query("papId") String papId);

    /**
     * 获取某个试卷的全部填空题，题目是一个String，存放在List中
     * @param papId
     * @return
     */
    @GET("/paper/getFillQuestions")
    Result<List<String>> getFillQuestions(@Query("papId") String papId);

    /**
     * 获取某个试卷的全部简答，题目是一个String，存放在List中
     * 注意简答题题目里可能存在图片
     * @param papId
     * @return
     */
    @GET("/paper/getShortAnswerQuestions")
    Result<List<String>> getShortAnswerQuestions(@Query("papId") String papId);

    /**
     * 获取某个试卷的全部选择题答案，题目是一个String，存放在List中
     * @param papId
     * @return
     */
    @GET("/paper/getChoiceQuesAns")
    Result<List<String>> getChoiceQuesAns(@Query("papId") String papId);

    /**
     * 获取某个试卷的全部判断题答案，题目是一个String，存放在List中
     * @param papId
     * @return
     */
    @GET("/paper/getJudgQuesAns")
    Result<List<String>> getJudgQuesAns(@Query("papId") String papId);

    /**
     * 获取某个试卷的全部填空题答案，题目是一个String，存放在List中
     * @param papId
     * @return
     */
    @GET("/paper/getFillQuesAns")
    Result<List<String>> getFillQuesAns(@Query("papId") String papId);

    /**
     * 获取简答题答案，题目是一个String，存放在List中
     *注意简答题题目里可能存在图片
     * @param papId
     * @return
     */
    @GET("/paper/getShortQuesAns")
    Result<List<String>> getShortQuesAns(@Query("papId") String papId);
}
